home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / txl / readme < prev   
Text File  |  1991-09-09  |  4KB  |  88 lines

  1.  
  2.         ---------------------------------------------
  3.          TXL v5.3 Sampler Workbench for Unix Systems
  4.         ---------------------------------------------
  5.  
  6.     J.R. Cordy, C.D. Halpern, E.M. Promislow & I.H. Carmichael
  7.            Queen's University at Kingston, Canada
  8.               September 1991
  9.  
  10.         TXL v5.3 (c) 1988-1991, Queen's University
  11.  
  12.  
  13. This directory contains version 5.3 of the Tree Transformation Language 
  14. (TXL) for Unix systems.
  15.  
  16. TXL is a generalized source-to-source translation system suitable for 
  17. prototyping computer languages of any kind.  It has been used to 
  18. prototype several new programming languages as well as specification 
  19. and command languages.  TXL takes as input an arbitrary context-free 
  20. grammar in BNF-like notation, and a set of show-by-example transformation 
  21. rules to be applied to inputs parsed using the grammar.  TXL will 
  22. automatically parse inputs in the language described by the grammar, 
  23. no matter how ambiguous or left-recursive, and then successively apply 
  24. the transformation rules to the parsed input until they fail, producing 
  25. as output the transformed source.  For further information on TXL itself 
  26. see the documents in the Documents subdirectory.
  27.  
  28. This directory contains a demonstration version of the TXL transformer 
  29. as well as several examples of its use in both programming language and 
  30. more general purpose applications in the directory "TXLexamples".  
  31. The subdirectories "TuringDialectExamples", "UserExamples"  and 
  32. "GeneralExamples" contain example inputs for several example languages 
  33. and applications implemented using TXL, and the subdirectory "Txl" of 
  34. each of those directories contains the corresponding TXL grammar and rule 
  35. set specifications of the example languages and applications themselves.  
  36. To run TXL on those inputs, simply change directory to the directory 
  37. containing the example, for example,
  38.  
  39.         chdir Examples/TuringDialectExamples
  40.  
  41. and run the command "txl" with the example file as argument.  
  42. For example,
  43.             txl Stack.GT
  44.             
  45. TXL infers the name of the appropriate TXL specification to use from 
  46. the part of the input file name following the ".".  For example, 
  47. "Stack.GT" is an example input for the "GT" ("Generic Turing") dialect 
  48. of the Turing language.  Many of the example TXL specs, such as 
  49. "GT", are prototype extensions to existing languages and include TXL 
  50. specs for the basic language they are extending (Turing, in the case 
  51. of GT) from other spec files (e.g., "Turing.Grammar") and then override 
  52. some of the syntactic forms of the basic language grammar with new ones 
  53. of the same name, adding the extensions.  The rule sets of these 
  54. "dialects" then transform to the original basis language, effectively 
  55. giving a prototype executable source of the dialect input program to test.
  56.  
  57. TXL can be run with interactive input using the command 
  58. "itxl language-name" to test out new or existing TXL specifications 
  59. quickly.  For example, the command
  60.  
  61.             itxl Calculator
  62.  
  63. will prompt for one line of input to be parsed and transformed by the 
  64. "Calculator.Txl" TXL specification in the "Examples/GeneralExamples"
  65. subdirectory.  
  66.  
  67. We suggest that you begin your exploration of the TXL world by running
  68. the script "LearnTxl" in this directory.  
  69.  
  70. Before doing that, however, you will have to install TXL in your system.  
  71. This is done automatically by the "InstallTxl" script, which you should
  72. run once first.
  73.  
  74. TXL is still under development as a general linguistic prototyping tool,
  75. and we are interested in any and all experience in its use.  Send 
  76. questions or comments to:
  77.  
  78.         Prof. J.R. Cordy
  79.         Department of Computing & Information Science
  80.         Queen's University
  81.         Kingston, Canada  K7L 3N6
  82.             
  83. or by Internet electronic mail to  Cordy@Qucis.QueensU.CA 
  84.  
  85. J.R. Cordy
  86. 5 Sep 1991
  87.  
  88.